var express = require('express');
var router = express.Router();


const moment=require('moment');
const accountModle = require('../../Model/account');

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});


//查看数据
router.get('/bills', function(req, res, next) {
  // let posts=db.get('posts').value();
  accountModle.find().sort({time:-1}).exec((err,data)=>{
    if(err)
    { 
        res.json({
        //响应编码
        code:'1001',
        //相应信息
        msg:'读取失败',
        //响应数据
        data:null
    })
    return;
    }
    // console.log(data);
   //响应成功提示 
   res.json({
        //响应编码
        code:'0000',
        //相应信息
        msg:'读取成功',
        //响应数据
        data:data
    });
  })
 
});


// router.get('/bills/create', function(req, res, next) {
//   res.render('create');
// });



router.post('/bills', function(req, res, next) {
//查看表单数据 
//2023-12-02 => monent =>  new Date()
  //插入数据库
  accountModle.create({
    ...req.body,
    //修改reqbody的值
    time:moment(req.body.time).toDate()
  },(err,data)=>{
    if(err)
    {
      res.json({
        code:'1002',
        msg:"创建失败",
        data:null
      });
      return;
    }
    res.json({
        //响应编码
        code:'0000',
        //相应信息
        msg:'读取成功',
        //响应数据
        data:data
    })
  })
 
  
});
//删除
router.delete('/bills/:id',(req,res)=>{
  let id=req.params.id;
 accountModle.deleteOne({_id:id},(err,data)=>{
  
  if(err)
  {
    res.json({
        code:'1003',
        msg:'删除失败',
        data:null
    });
    return;
  }
   res.json({
    code:'0000',
    msg:'删除成功',
    data:{}
   });
 });
 
});

//获取单个账单信息
router.get('/bills/:id',(req,res)=>{

    let {id}=req.params;

    accountModle.findById(id,(err,data)=>{
        if(err)
    {
        return res.json({
            code:"1004",
            msg:"查找失败",
            data:null
        })
      
    }
    res.json({
        code:"0000",
        msg:"查找成功",
        data:data
    })

    })
})
//更新单条数据
router.patch('/bills/:id',(req,res)=>{
    let {id}=req.params;
    accountModle.updateOne({_id:id},req.body,(err,data)=>{
        if(err)
        {
            return res.json({
                code:'1005',
                msg:'更新失败',
                data:null
        })
        }
        accountModle.findById(id,(err,data)=>{
            if(err)
            {
                return res.json({
                    code:'1004',
                    msg:'更新失败',
                    data:null
                })
            }
         
            res.json({
            code:"0000",
            msg:"更新成功",
            data:data
       
        })  
        })
        


    });


})

module.exports = router;
